The prevalence of mobile devices, such as phones, with built-in location detection has spurred the advent of many new applications. For example, software applications currently exist which detect a mobile device's location, and based on that location, deliver customized content to that device.
For these applications to be effective, location detection must be reliable. For example, such an application should be able to distinguish between standard user use cases, such as home, work, school, church, and movie theaters. Typically, these predetermined geographic areas are referred to as geofences. A geofence could be an arbitrary area, or may be associated with a particular location, such as a person's home or business address. In some embodiments, a geofence is defined as a circular region having a center and a radius. This center may be referenced by its latitude and longitude or by using a different coordinate system.
For the purpose of this disclosure, a location within a coordinate system, such as a latitude and longitude, will be known as an “absolute location.” In the absence of a coordinate system, it may be possible to determine a “relative location.” A relative location is the position of the device relative to a reference point whose absolute location may not be known. For example, a mobile device could detect being in a car based on the presence of the car's Bluetooth signal. The car's absolute position may move, however the device still knows that it is within a car. Other technologies may be used for relative location, including nearby Wi-Fi access points, nearby cell towers, ultrasonic signals detected by a mobile device microphone, NFC tags, light detected by a mobile device's camera, and the like.
Absolute location detection techniques use various different technologies to determine a device's location, including cell towers, Wi-Fi access points, GPS, Galileo, and GLONASS navigation satellites and other signals. Each of these technologies has its own strengths and weaknesses. Many people tend to think of these technologies as having increased levels of precision and accuracy. For example, it is assumed that GPS is better than Wi-Fi, which is better than cell towers. However, in reality, the perceived device location from each of these different technologies may be inconsistent. Referring to FIG. 1, in one exercise, a mobile device was placed at the location marked with an “X.” FIG. 1 shows the perceived device location, as determined by GPS, Skyhook Wi-Fi location data, Google Wi-Fi location data, and Google cell tower location data. Skyhook and Google are examples of entities which maintain databases of the estimated positions of cell towers and Wi-Fi access points.
As mentioned above, each of these technologies has strengths and weaknesses. Each will be described in more detail below.
There are two primary cellular network types, GSM and CDMA. Verizon and Sprint have traditionally used CDMA, while T-Mobile and AT&T have traditionally used GSM. Outside of the United States, GSM has been more popular. The 4G LTE networks being deployed now are based on GSM standards.
Regardless of the underlying cell technology, a mobile device communicates with a cell tower for voice, SMS, and data. For the most part, cell towers are stationary and do not move. Furthermore, each cell tower has a unique identifier. Although the range of GSM cell towers goes up to thirty-five kilometers, towers are usually a few kilometers apart.
If the latitude/longitude of a cell tower is known, then a device connected to that tower must be roughly in the same location as the tower. This reasoning describes how cell towers can be used for device-centric location detection. Cell tower location databases from Google and Skyhook contain information about where the cell towers are actually located. In addition, some CDMA cell towers actually transmit their own location without needing to connect to a database. Because cell towers can have a range of many kilometers, cell tower sensor locations are very inaccurate, typically 2,000 meters or worse.
In addition, even though a mobile device remains stationary, it may frequently switch between several different towers which are all located within range.
Furthermore, a strong cell signal will not improve location accuracy. Whether the mobile device has 1 or 5 bars, the accuracy based on cell towers is still on the order of 2,000+ meters. Similarly, being connected to 2G versus 3G versus 4G will not inherently increase location accuracy. In fact, 4G can actually reduce accuracy, because carriers are still enhancing their 4G deployments and 4G towers are more spread apart.
Determining the location of a mobile device based on cell tower location typically requires little power from the mobile device. Since the mobile device is already connected to the cell network, determining cell location happens quickly and passively. The only active part of this process connects to a cloud-based service, such as Google or Skyhook, to determine the actual location of the tower if that information was not already cached.
However, cell tower location data can be unreliable due to inaccuracies in the cell databases. Thus, sometimes cell tower location data can be completely wrong.
Some cell carriers also offer network-centric location detection of mobile devices. These network-centric systems rely on similar principles, i.e. that a device is geographically near cell towers it can communicate with.
In summary, cell tower location detection is inaccurate (2,000 meters), requires little power, works indoors and outdoors, as long as there is cell service, and can sometimes be completely wrong.
Similar to cell towers, Wi-Fi access points are usually stationary, and each Wi-Fi access point has a unique identifier that it broadcasts. Wi-Fi has much shorter range than cell service, usually around thirty meters.
A mobile device does not need to connect to a Wi-Fi access point to detect its presence. If the latitude/longitude of a detected Wi-Fi access point is known, then a mobile device near that Wi-Fi access point must be roughly in the same location as the access point.
Google and Skyhook both operate databases of Wi-Fi access points that are used to determine location. Google crowdsources its database by performing Wi-Fi scans from Android handsets. In addition to crowdsourcing, Skyhook populates its database by driving vehicles equipped with GPS and Wi-Fi scanners. The exact location of the Wi-Fi access point is often not known by Google or Skyhook, but is rather estimated by taking multiple scans from different sides surrounding the access point. Because of these estimations, Wi-Fi sensor locations are usually accurate to about 100 meters.
Determining the location of a mobile device based on Wi-Fi access point location typically requires low to medium power from the mobile device. Unlike cell towers, Wi-Fi access points can move, temporarily causing inaccurate location. It is believed that about 20% of all Wi-Fi access points move per year. This means that from time to time, a Wi-Fi based location can be completely wrong.
Wi-Fi location detection works in any location where there are Wi-Fi access points. Wi-Fi access points are available at most homes, offices, schools, and throughout urban environments. Churches are one of the few relatively common buildings where Wi-Fi often is not visible.
In summary, Wi-Fi sensor locations are typically accurate (100 meters), require medium power, work anywhere there are Wi-Fi access points, and can sometimes be completely wrong.
GPS is entirely different from cell and Wi-Fi based location technology. The mobile device's GPS receiver picks up signals from a constellation of GPS satellites. While this application uses the term “GPS,” it is understood that there are various satellite-based navigation systems. For example, Europe utilizes a navigation system codenamed Galileo, while Russia has a navigation system known as GLONASS. All of these navigation systems are within the scope of the disclosure and the invention is not limited to only the U.S. based GPS satellite system. Thus, the term “GPS” is intended to denote any satellite-based navigation system and is not limited to any particular embodiment.
To determine its position, a GPS receiver must know where the GPS satellites are. There are two parts to this:
1. almanac data provides a rough estimate of satellite positions, while
2. ephemeris data provides a precise satellite position. The almanac allows a GPS receiver to approximate the positions and velocities of the satellites, and a GPS receiver uses this information to aid the determination of satellite visibility during acquisition of GPS satellite signals. The almanac is updated weekly by GPS Control, although previously downloaded almanac data is valid for a number of months. GPS satellites transmit almanac data continuously, although it takes about 12.5 minutes for a GPS receiver to completely download the almanac. If a GPS receiver is fresh from the factory or has not been used for several months, the almanac data will need to be downloaded and a lengthy time to first fix is expected. All GPS satellites transmit the same almanac data, which makes an almanac download more robust than downloading ephemeris data, which is discussed next.
Each satellite broadcasts “ephemeris” data, which provides the GPS receiver with the exact location of that particular satellite. Ephemeris data is unique to each satellite. A GPS receiver needs to receive ephemeris data from at least four satellites in order to determine its own location because there are four variables that make up a GPS sensor location: longitude, latitude, altitude, and time. Once ephemeris data is received by the GPS receiver, that data is valid for about four hours. Note, however, that different GPS satellites come in and out of view over time, effectively reducing the time when cached ephemeris data is useful.
Transmission of ephemeris data requires a full uninterrupted thirty second transmission cycle. If the GPS receiver turns on right after an ephemeris transmission cycle has already begun, the receiver must then wait until the beginning of the next cycle, which is up to thirty seconds away, before it can begin the thirty second download. Thus, it may take up to sixty seconds to acquire this information. It is also important for the GPS receiver to remain stationary when downloading ephemeris data. If the receiver is moving, it might briefly lose the GPS signal due to objects like buildings or trees blocking the satellites from view, and then it must start over at the next thirty second cycle. Therefore, in ideal conditions (e.g. clear view of the sky), a GPS receiver requires at least sixty seconds to guarantee a sensor location. In typical conditions, it can take several minutes for a GPS receiver to get an uninterrupted signal from four satellites.
Modern GPS receivers support out-of-band delivery of GPS almanac and ephemeris data via an Internet connection, which is sometimes called A-GPS. This ephemeris data allows a GPS receiver to get a sensor location more quickly, within about twenty seconds. However these quickly obtained sensor locations are often less accurate. In some tests, it has been observed that GPS confidently gives sensor locations with a small error radius that are actually up to fifty kilometers away from the correct location. Correctness of the sensor locations tends to improve the longer the GPS receiver is on.
Because of the slow acquisition time and low accuracy on startup, GPS works best for continuous tracking of location, such as providing driving directions. However, monitoring GPS continuously will drain the battery on a mobile device very quickly. In some cases, the battery may be drained within a few hours.
While the theoretical accuracy of GPS is high, the practical accuracy in the context of a geofencing implementation on a mobile device is quite low because of the long warmup period for more correct sensor locations. In summary, GPS is accurate (100 meters), requires high power, only works outdoors, and has a slow acquisition time.
Thus, all location detection systems currently employed have deficiencies and benefits. It would be advantageous if there existed a system and method for location detection that accurately determined the location of the mobile devices in a short amount of time, and without consuming a large amount of power.